Абстракция — это процесс скрытия сложности путем создания «словаря», который работает на более высоком концептуальном уровне, чем низкоуровневые операции компьютера. Это позволяет нам переходить от императивных команд («Как сделать это») к декларативному намерению («Что нужно сделать»).
1. Лестница абстракций
По мере того как мы поднимаемся по лестнице, мы получаем большую выразительность для человека, но платим «налогом абстракции»: каждый уровень добавляет расстояние между кодом и аппаратным обеспечением, требуя больше циклов процессора для преобразования концепций обратно в примитивные действия.
2. Параметризированная логика
Добавив параметр step к нашей функции range функции, мы превращаем статический инструмент в гибкую систему. Мы можем обрабатывать различные направления (положительные или отрицательные приращения), не переписывая основной алгоритм: range(5, 2, -1).
3. Результат
Вместо ручного подсчета циклов мы используем console.log(sum(range(1, 10)));. Это скрывает «подводные коммуникации» внутри повторно используемых блоков.